package com.ruoyi.car.es.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;

import java.util.Date;

/**
 * @Author wy
 * @Description ES对象
 * @Date 2023/6/15 16:29
 * @Version 1.0
 */
@Getter
@Setter
@ToString
@Document(indexName = "carinfo",createIndex = false)
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public class EsCarInfo {

    @Id
    private Long id;
    /**
     * 门店ID（部门ID）
     */


    @Field(value = "dept_id")
    private Long deptId;

    /**
     * 门店名称
     */
    @Field(value = "dept_name")
    private String deptName;

    /**
     * 车牌号
     */
    @Field(value = "car_no")
    private String carNo;


    /**
     * 车型id(car_model表)
     */
    @Field(value = "model_id")
    private Long modelId;

    /**
     * 车型名称
     */
    @Field(value = "model_name")
    private String modelName;

    /**
     * 品牌
     */
    private String brand;

    /**
     * 车主编号
     */
    @Field(value = "customer_id")
    private Long customerId;

    /**
     * 车主名称
     */
    @Field(value = "customer_name")
    private String customerName;

    /**
     * 客户类型id
     */
    @Field(value = "cus_cate_id")
    private String cusCateId;
    /**
     * 客户类型名称
     */
    @Field(value = "cus_cate_name")
    private String cusCateName;

    /**
     * 客户公司ID
     */
    @Field(value = "componey_id")
    private Long componeyId;

    /**
     * 客户公司名称
     */
    @Field(value = "componey_name")
    private String componeyName;


    /**
     * 联系人姓名
     */
    @Field(value = "contact_name")
    private String contactName;

    /**
     * 联系号码
     */
    @Field(value = "contact_phone")
    private String contactPhone;

    /**
     * 车架号
     */
    private String vin;

    /**
     * 发动机编号
     */
    @Field(value = "engine_no")
    private String engineNo;

    /**
     * 到店汽车的里程数
     */
    @Field(value = "arrival_mileage")
    private Integer arrivalMileage;

    /**
     * 下次保养里程
     */
    @Field(value = "next_mileage")
    private Integer nextMileage;



    /**
     * 年检到期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Field(value = "inspection_date")
    private Date inspectionDate;


    /**
     * 保险期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Field(value = "insurance_date")
    private Date insuranceDate;

    /**
     * 是否新能源ID(通用字典new_energy_vehicles)
     */
    @Field(value = "new_energy_vehicles")
    private String newEnergyVehicles;

    /**
     * 是否新能源名称
     */
    @Field(value = "new_energy_vehicles_name")
    private String newEnergyVehiclesName;

    /**
     * 保险公司
     */
    @Field(value = "insurance_company")
    private String insuranceCompany;

    /**
     * 其它动态扩展属性 [{键:值},{键:值},]
     */
    private String attributes;


    /**
     * 汽车图片
     */
    @Field(value = "car_picture")
    private String  carPicture;
    /**
     * 备注
     */
    private String remark;
}
